#include <stdio.h>
#include <string.h>
#include <mysql/mysql.h>
int main()
{
    MYSQL mysql;
 
    mysql_init(&mysql);

    if (!mysql_real_connect(&mysql,"localhost","wgcfirst","Wgc5201314.","first",0,NULL,0))
    {
        fprintf(stderr, "Failed to connect to database: Error: %s\n",
            mysql_error(&mysql));
            return 1;
    }

    char msg[500];
    char ifon[1024];
    char msgs[200];
    char name[20];
    uint64_t r;
    char c;
    int i;
    while(1)
    {
        system("clear");
        printf("1、增加学生信息\n");
        printf("2、删除学生信息\n");
        printf("3、查看学生信息\n");
        printf("4、退出\n");
        printf("请输入你的选项：");
        scanf("%d",&i);
        if(1 == i)
        {
            strcpy(msg, "");
            printf("请输入新增学生的基本信息：学号、姓名、性别、视力、生日、手机\n");
            //printf("格式如：1001,'王功成','男',5.2,'1999.8.5','17612707241'\n");
            printf("格式如：1001\n请输入学生学号：");
            scanf("%s",msgs);
            strcat(msg, msgs);
            strcat(msg, ",");
            printf("格式如：张三\n请输入学生姓名：");
            scanf("%s",msgs);
            strcat(msg, "'");
            strcat(msg, msgs);
            strcat(msg, "'");
            strcat(msg, ",");
            printf("格式如：男/女\n请输入学生性别：");
            scanf("%s",msgs);
            strcat(msg, "'");
            strcat(msg, msgs);
            strcat(msg, "'");
            strcat(msg, ",");
            printf("格式如：5.0\n请输入学生视力：");
            scanf("%s",msgs);
            strcat(msg, msgs);
            strcat(msg, ",");
            printf("格式如：1999.08.01\n请输入学生生日：");
            scanf("%s",msgs);
            strcat(msg, "'");
            strcat(msg, msgs);
            strcat(msg, "'");
            strcat(msg, ",");
            printf("格式如：17612707241\n请输入学生手机：");
            scanf("%s",msgs);
            strcat(msg, "'");
            strcat(msg, msgs);
            strcat(msg, "'");
            sprintf(ifon, "insert into student values(%s)", msg);
            if(0 != (mysql_query(&mysql, ifon)))
            {
                fprintf(stderr, "操作失败\n");
            }
            while(c = getchar() != '\n');
        }
        else if(2 == i)
        {
            system("clear");
            printf("请输入学生姓名：");
            scanf("%s",name);
            sprintf(msg, "delete from student where name = '%s'", name);
            if(mysql_query(&mysql, msg))
            {
                fprintf(stderr, "删除学生失败");
            }
            else
            {
                r = mysql_affected_rows(&mysql);
                if(r == 0)
                {
                    printf("该学生不存在\n");
                }
                else
                {
                    printf("共删除%lu 名学生\n", r);
                }
            }
        }
        else if(3 == i)
        {
            system("clear");
            sprintf(msg, "select *from student");
            if(mysql_query(&mysql, msg))
            {
                fprintf(stderr, "删除学生失败");
            }
            else
            {
                MYSQL_RES* result;
                MYSQL_ROW row;

                result = mysql_store_result(&mysql);

                if(result != NULL)
                {
                    while(row = mysql_fetch_row(result))
                    {
                        printf("%s %s %s %s %s %s\n", row[0], row[1], row[2], row[3], row[4], row[5]);
                    }

                    mysql_free_result(result);
                }
            }
        }
        else if(4 == i)
        {
            system("clear");
            break;
        }
        else
        {
            printf("输入的选项有误，请从新输入！\n");
        }
    }
    mysql_close(&mysql);
    return 0;
}